#pragma once
#include <memory>

#include "Op.h"

class OpReplacePrivate;
class Ent;
class OpReplace : public Op
{
public:
	OpReplace(const std::vector<std::shared_ptr<Ent>>& olds,
		const std::vector<std::shared_ptr<Ent>>& news,
		QUndoCommand *outer = nullptr);
	~OpReplace();

	virtual void redo() override;
	virtual void undo() override;

protected:
	OpReplacePrivate* d_ptr;
};